package cn.ainit.yz.printexplain;

import java.util.List;

import javax.servlet.http.HttpSession;

import cn.ainit.butn.proceduce.ButScripParams;
import cn.ainit.common.ReturnObject;
import cn.ainit.yz.execut.entity.Execut;
import cn.ainit.yz.execut.entity.ExecutFM;
import cn.ainit.yz.execut.entity.ExecutZD;
import cn.ainit.yz.execut.entity.ExecutZW;
import cn.ainit.yz.printexplain.entity.PrintExplainFM;
import cn.ainit.yz.printexplain.entity.PrintExplainZD;
import cn.ainit.yz.printexplain.entity.PrintExplainZW;

import cn.ainit.yz.printexplain.entity.PrintExplain;

public interface PrintExplainDao {
	/**
	 * 生成综合施工单
	 * @param isbnId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-3-11 下午04:39:24
	 */
	String printToexec(String peId) throws Exception ;
	/**
	 * 印刷说明单 中的材料出库
	 * @param peId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-5-10 下午03:37:03
	 */
	String caiLiaoChuku(String peId) throws Exception;
	/**
	 * 查找封面的数据
	 * @param ysId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-2-27 上午10:54:10
	 */
	List<PrintExplainFM> findFMList(String ysId) throws Exception;
	/**
	 * 查找装订项目的数据
	 * @param ysId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-2-27 上午10:54:23
	 */
	List<PrintExplainZD> findZDList(String ysId) throws Exception;
	/**
	 * 查找正文印刷的数据
	 * @param ysId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-2-27 上午10:54:41
	 */
	List<PrintExplainZW> findZWList(String ysId) throws Exception;
	/**
	 * 添加（保存）printExplain基本信息
	 * @param printExplain
	 * @return
	 * @throws Exception
	 * @author Xuzq
	 * @date 2014-2-26 下午05:56:20
	 */
	boolean saveBase(PrintExplain printExplain)throws Exception;
	/***
	 * 更新printExplain基本信息
	 * @param printExplain
	 * @return
	 * @throws Exception
	 * @author Xuzq
	 * @date 2014-2-26 下午05:56:23
	 */
	boolean updateBase(PrintExplain printExplain)throws Exception;
	/***
	 * 保存封面印刷
	 * @param printExplainFMs
	 * @return
	 * @throws Exception
	 * @author Xuzq
	 * @param peId 
	 * @date 2014-2-27 下午02:33:11
	 */
	List saveFM(List<PrintExplainFM> printExplainFMs, String peId)throws Exception;
	/***
	 * 保存正文印刷
	 * @param printExplainZWs
	 * @param peId
	 * @return
	 * @throws Exception
	 * @author Xuzq
	 * @date 2014-2-28 下午03:51:40
	 */
	List<String> saveZW(List<PrintExplainZW> printExplainZWs, String peId)throws Exception;
	/**
	 * 保存装订项目
	 * @param printExplainZDs
	 * @param peId
	 * @return
	 * @throws Exception
	 * @author Xuzq
	 * @date 2014-2-28 下午04:01:27
	 */
	List<String> saveZD(List<PrintExplainZD> printExplainZDs, String peId)throws Exception;
	/**
	 * 根据ID得到一个综合施工单
	 * @param exId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date : 2014-3-11 下午04:54:10
	 */
	Execut getOneExecut(String exId) throws Exception;
	/**
	 * 查找封面的数据
	 * @param ysId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date :  2014-3-11 下午04:54:10
	 */
	List<ExecutFM> findExFMList(String ysId) throws Exception;
	/**
	 * 查找装订项目的数据
	 * @param ysId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * @date :  2014-3-11 下午04:54:10
	 */
	List<ExecutZD> findExZDList(String ysId) throws Exception;
	
	/**
	 * 查找正文印刷的数据
	 * @param ysId
	 * @return
	 * @throws Exception
	 * @author wyang
	 * 
	 * @date : 2014-3-11 下午04:54:10
	 */
	List<ExecutZW> findExZWList(String ysId) throws Exception;

	
	/**
	 * 印刷付印单添加批次的时
	 * @param xtId
	 * @param byc
	 * @param config
	 * @return
	 * @throws Exception
	 * @author feifei
	 * @date: 2015-3-30 上午11:41:22 
	 */
	String returnNewBath(String xtId,String byc,String config) throws Exception;
	
	/***
	 * 印刷付印单的生产总监始终保持修改的权限
	 * @param dsId
	 * @param session
	 * @return
	 * @throws Exception
	 * @author feifei
	 * @date: 2015-4-8 下午04:00:25 
	 */
	String keepModifyPrems(String dsId,String djId,HttpSession session) throws Exception;
}
